import tensorflow as tf

tensor = tf.constant([[1, 2, 3], [4, 5, 6]])  # 创建一个二维张量

# 获取形状
shape = tensor.shape  # 打印(2,3)打印了两个数字，说明这是2维的，2,3分别表示张量最外层有2个元素，每一个元素内有3个元素，
# 把这些数组相乘就得到了张量的总元素数。

# 改变形状(reshape)
reshaped = tf.reshape(tensor, [3, 2])  # 将张量的形状从(2,3)变为(3,2)
# tf.reshape() 函数会把原来的张量维度拉平，变成一个列表，然后按照新的形状重新排列组合，不会改变原来张量中的元素以及元素顺序，个数。

# 转置(transpose)
transposed = tf.transpose(tensor) # 将元素的行和列交换，把张量的最后两个维度互换。
# ([[1, 4], [2, 5], [3, 6]]) => ([1,2,3], [4,5,6]) 原来是横着读，变成了竖着读。

# 扩展维度(expand_dims)
expanded = tf.expand_dims(tensor, axis=0) # 在指定维度是外面增加一个维度，就是在指定的层级外包一个括号。
# axis = 0 表示在最外层增加一个维度，即增加一个括号。


